package com.chaodev.base.service;

import org.apache.commons.net.ftp.FTPClient;

import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface IFileService {

    /**
     * 删除文件系统文件
     * @param daysBefore 几天前
     * @param basePath 基础路径
     * @return
     */
    String remUploadFile(int daysBefore,String basePath);

    /**
     * 删除FTP文件
     * @param ftpClient ftp对象
     * @param daysBefore 几天前
     * @param basePath 基础路径
     * @return
     * @throws IOException
     */
    String remFtpUploadFile(FTPClient ftpClient,int daysBefore,String basePath) throws IOException;

    /**
     * 计算待清理文件系统文件
     * @param daysBefore 几天前
     * @param basePath 基础路径
     * @return
     */
    String countUploadFile(int daysBefore,String basePath);
    /**
     * 计算待清理FTP文件
     * @param ftpClient ftp对象
     * @param daysBefore 几天前
     * @param basePath 基础路径
     * @return
     * @throws IOException
     */
    String countFtpUploadFile(FTPClient ftpClient,int daysBefore,String basePath) throws IOException;

    /**
     * 返回待清除的文件路径
     * @param map 几天前
     * @return
     */
    List<String> getHistoryImportFile(Map<String,Object> map);

    /**
     * 返回待清除的文件大小
     * @param map
     * @return
     */
    Long getHistoryImportSize(Map<String,Object> map);

    /**
     * 更新导入总表，将状态置为已删除
     * @param map
     * @return
     */
    int updateImportInfo(Map<String,Object> map);
}
